Various forms of nonvolatile semiconductor memory devices for storing data in memory cells in a nonvolatile manner are proposed. Of these various forms, NAND type flash memory is widely used as a data storage device because its storage capacity can be easily enlarged.
To further speed up access, a NAND type flash memory capable of a so-called interleave operation is proposed. An interleave operation is a method of operation in a NAND type flash memory having a plurality of memory cores. Specifically, a method of operation in which an operation in one of memory cores is concealed by, for example, having various kinds of operations being performed in one memory core, while a separate operation (for example, a pre-charge operation) is performed in another memory core, thereby achieving an overall speeding-up of access.
At the same time, a NAND type flash memory sometimes adopts a multilevel storage system in which two bits or more of data are stored in one memory cell. In this case, flag data to indicate to what stage a write operation by the multilevel storage system has progressed (LM flag data) is stored in a certain column of the memory cell array. In a read operation and write operation herein, the LM flag data stored in that LM column is read during read of data from an ordinary memory cell.